package com.games.chaoshi;


import java.util.ArrayList;
import java.util.List;


//购物车(客户端 订单)
public class CartGoodsDao {//订单 == 购物车小仓库

    //因为Goods类包含订单当中的Goods！此处可 创建一个 Goods集合对象，用dingdan接收：
    static List<CartGoods> dingdan = new ArrayList<CartGoods>();
    /*创建一个ArrayList集合，该集合中储存的元素类型必须为Goods类型！
     * dingdan是该集合的某一个对象，一系列的Goods类型对象集合起来即就是订单了！！！
     *
     * ★★★前面只有加static修饰，扫描商品的时候  才能调用 集合的系统自带的.aad()方法,
     * 如果删掉此处的static的话,系统报错：不能对非静态字段 gouwuche.dingdan 进行静态引用，
     * 1个快速修正可用：将"dingdan"的修饰符改为"静态"
     * */


    static {
        init();
    }

    public static void init() {
/*public  gouwuche(){	★★★一定要把此处的Store2 改成随便的其他字符,体验理解 语法!!!
		1.可以写成方法“public void x(){}”:方法名x可以使任何字符串,也可以再void前加上static!!!
		2.可以写成构造函数“public gouwuche(){}”:方法名 必须是本类的类名:gouwuche!!!*/


        //添加初始商品										1003,	   2  <脉动水蜜桃>
        CartGoods g1 = new CartGoods(Store.kucun.get(0).getGoodsId(), 2);
        CartGoods g2 = new CartGoods(Store.kucun.get(1).getGoodsId(), 3);
        //				10034,     3  <脉动水蜜桃>
        dingdan.add(g1);/*没有"public static void x(){}"方法，此处会报错!!! 因为
						.add()方法必须在 方法(亦可以在构造方法里面)里面 才能够被调用!!!*/
        dingdan.add(g2);
    }


    //通过输入编号i在  购物车中 查找对应的商品  的方法:
    public static CartGoods findMyCartGoodsBygoodsId(int p_i) {
        CartGoods cartGoods = null;        //gouwucheGoods是购物车的  商品类，g22是gouwucheGoods类其中的某一个对象(局部变量)
        for (CartGoods temp : dingdan) {
            if (p_i == temp.getCartId()) {
                cartGoods = temp;
            }
        }
        return cartGoods;
    }


    public static void showAllgoodsforGowuche() {

        if (!CartGoodsDao.dingdan.isEmpty()) {
				/*System.out.println("商品编号\t商品名称\t\t商品数量\t商品价格\t合计金额");
				System.out.println("============================================================");
				for(gouwucheGoods temp:gouwuche.dingdan){

					System.out.println(temp.getId2()+"\t"+
									   Store.getGoodsBygoodsId(temp.getId2()).getName() +"\t"+"\t"+
									   temp.getCount2()+"\t"+
									   Store.getGoodsBygoodsId(temp.getId2()).getPrice()+"\t"+
									   (Store.getGoodsBygoodsId(temp.getId2()).getPrice()*temp.getCount2()));

				}
				System.out.println("============================================================");

		*/

            System.out.println("----------购物车列表----------");
            System.out.println("商品编号\t商品名称\t\t商品数量\t商品价格\t金额小计");

            //用字符串的拼接方法！！！
            StringBuilder sb = new StringBuilder();

            Goods g = null;
            for (CartGoods t : CartGoodsDao.dingdan) {
                sb.append(t.getCartId());//拼接商品编号
                sb.append("\t\t");

                g = Store.getGoodsBygoodsId(t.getCartId());
                sb.append(g.getName());//拼接商品名称
                sb.append("\t\t\t");

                sb.append(t.getQuality());//拼接商品数量
                sb.append("\t\t");

                sb.append(g.getPrice());//拼接商品价格
                sb.append("\t\t\t");

                sb.append(t.getTotal());//拼接商品编号
                sb.append("\n");
            }

            System.out.println(sb.toString());

        } //else{"您的购物车为空，没有添加任何商品！"}

    }


}
